﻿//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1998-2024 Glodon Company Limited.
//
// Licensed under the MIT License
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the “Software”),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//////////////////////////////////////////////////////////////////////////////
#pragma once

#include "GbmpModel.h"
#include "UniIdentity.h"

namespace gcmp
{
    /// \brief Gbmp内建Category的UniIdentity
    /// 
    /// 通过这些UniIdentity可以从ICategoryLibrary中取出相应的Category
    namespace BuiltInCategoryUniIdentities
    {
        /// 新GBMP类别
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_LEVEL_TYPE; ///< LevelType
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_ELEVATION; ///< 标高
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_GRID; ///< 轴网
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_GRID_TAG; ///< 轴网标签

        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_WALL; ///< 结构墙
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_COLUMN; ///< 结构柱
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_BEAM; ///< 结构梁
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_FLOOR; ///< 结构板
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_SLOPELINE;  ///< 结构坡度线
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_WALL_HOLE;  ///< 结构墙洞
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_PLATE_HOLE;  ///< 结构板洞
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_FOUNDATION; ///< 结构基础
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STRUCTURE_STRIP_FOUNDATION; ///< 结构条形基础
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_BUILDING; ///< 单体
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_CAMERA; ///< 相机
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_ELEVATION_VIEW_SYMBOL; ///< 立面视图标志
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_VIEW_SYMBOL_AUXILIARY_BORDER; ///< 视图标志辅助线
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_SECTION_VIEW_SYMBOL; ///< 剖面视图标志
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_SECTION_VIEW_SYMBOL_LINE; ///< 剖面视图标志线
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STAIR_VIEW_SYMBOL; ///< 阶梯视图标志
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STAIR_VIEW_SYMBOL_LINE; ///< 阶梯视图标志线

        //其他类别，处于过渡性和探索性阶段
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_REVIT_ELEMENT;      ///< REVIT通用对象
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_HOOPING_BAR;        ///< 箍筋
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_LONGITUDINAL_BAR;   ///< 纵筋

        //暂时只提供类别，不提供系统内置族
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_ARCHITECTURE_WALL; ///< 建筑墙
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_ARCHITECTURE_COLUMN; ///< 建筑柱
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_CONSTRUCTIONAL_FLOOR; ///< 构造板
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_ROOF; ///< 屋顶
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_CEILING; ///< 天花板
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_CURTAIN_WALL;///< 幕墙
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_STAIR;///< 楼梯
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_HANDRAIL;///< 栏杆扶手
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_RAMP;///< 坡道
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_DOOR;///< 门
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_NEW_WINDOW;///< 窗
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_SITE;///< 场地
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_COMMON_COMPONENT;///< 常规构件

        //
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_WALL; ///< 墙
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_ELEVATION; ///< 旧标高
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_COLUMN; ///< 柱
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_STAIR; ///< 旧楼梯
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_WINDOW; ///< 旧窗
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_DOOR; ///< 旧门
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_ROOF; ///< 旧屋顶
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_RAILING; ///< 旧扶手栏杆
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_GRID; ///< 旧轴网
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_GRID_TAG; ///< 旧轴网标签
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_MECHANICAL_EQUIPMENT; ///< 机械设备
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_AIR_PIPE_FITTINGS; ///< 风管管件
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_AIR_PIPE_ACCESSORY; ///< 风管附件
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_PIPE_FITTINGS; ///< 管件
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_PIPE_LINE_ACCESSORY; ///< 管路附件
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_MEPCONNECTOR; ///< 线管连接件
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_TEST_MODEL_BODY; ///< 性能测试用几何体
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_BEAM; ///< 梁
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_FLOOR; ///< 楼板
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_PROFILE; ///< 轮廓
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_HANDRAIL; ///< 扶手
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_BALUSTER; ///< 栏杆
        extern GBMP_MODEL_EXPORT const UniIdentity BICU_LEVEL_TYPE; ///< 旧LevelType
    }
}


  
